A memristor is a two-terminal device that changes its resistance in response to the amount of electrical current that has previously flown through the device. Memristors may be used in crossbar neural network architectures. In a crossbar neural network, multiple memristors are connected in a perpendicular crossbar array with memristor synapses at each crossing. However, crossbar neural network architectures may require the use of complex designs in order to counteract parasitic leak paths. Additionally, redundant synapses do not exist in crossbar neural networks. Furthermore, a recurrent connection in a crossbar neural network requires complex circuit layouts, and from a footprint point of view, crossbar designs scale quadratically in size with the number of neurons.